package com.kaili.basic.service;

import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;
import com.kaili.basic.pojo.dto.BaseUserAddUserDto;
import com.kaili.basic.pojo.dto.DeviceDTO;
import com.kaili.basic.pojo.entity.DeviceEntity;
import com.kaili.basic.pojo.vo.DeviceVO;
import com.kaili.common.response.RestStatus;

import java.util.List;

/**
*  service接口
* @author:zhouyijian
* @Time: 2019-07-24
* @Copyright: ©  杭州凯立通信有限公司 版权所有
* @Warning: 本内容仅限于公司内部传阅,禁止外泄或用于其它商业目的
*/
public interface IDeviceService extends IService<DeviceEntity> {

    /**
     * @Desc: 设备登记
     * @author:zhouyijian
     * @time: 2019/7/25 11:11
     * @param dto
     * @return: int
     */
    RestStatus doCreateDevice(DeviceDTO dto);

    /**
     * @Desc:删除设备
     * @author:zhouyijian
     * @time: 2019/7/25 11:12
     * @param id
     * @return: void
     */
    RestStatus deleteByImei(Long id);
    /**
     * @Desc:设备启用/停用
     * @author:zhouyijian
     * @time: 2019/7/25 11:19
     * @param imei
     * @return: void
     */
    RestStatus switchDeviceStatus(String imei);
    /**
     * @Desc:更新设备信息
     * @author:zhouyijian
     * @time: 2019/7/25 11:21
     * @param dto
     * @return: int
     */
    RestStatus updateDeviceByImei(DeviceDTO dto);

    /**
     * @Desc:分页查询
     * @author:zhouyijian
     * @time: 2019/7/25 11:22
     * @param dto
     * @return: Page<FacilityVO>
     */
    Page<DeviceVO> queryPageList(DeviceDTO dto);

    /**
     * @Desc:查询设备信息
     * @author:zhouyijian
     * @time: 2019/7/25 17:16
     * @param dto
     * @return: List<cFacilityVO>
     */
    List<DeviceVO> queryListByCondition(DeviceDTO dto);

    /**
     * @Desc:查询设备型号
     * @author:zhouyijian
     * @time: 2019/7/30 17:28
     * @return: List<java.lang.String>
     */
    List<DeviceVO> queryModelByTypeId(Integer typeId);
}
